#include "vehicleframe.h"

VehicleFrame::VehicleFrame(const QString &name,
                           const QString &graphic,
                           const GeometryUtilities::Point &position,
                           qreal direction,
                           const Point &accel,
                           const Point &vel,
                           const Point &engForce,
                           const Point &brkForce,
                           const Point &fricForce,
                           const Point &dragForce,
                           const Point &currentGoal)
  : mName(name),
    mGraphic(graphic),
    mPosition(position),
    mDirection(direction),
    mAcceleration(accel),
    mVelocity(vel),
    mEngineForce(engForce),
    mBrakeForce(brkForce),
    mFrictionForce(fricForce),
    mDragForce(dragForce),
    mCurrentGoal(currentGoal)
{
}

QString VehicleFrame::name() const
{
  return mName;
}

QString VehicleFrame::graphic() const
{
  return mGraphic;
}

GeometryUtilities::Point VehicleFrame::position() const
{
  return mPosition;
}

qreal VehicleFrame::direction() const
{
  return mDirection;
}

Point VehicleFrame::acceleration() const
{
  return mAcceleration;
}

Point VehicleFrame::velocity() const
{
  return mVelocity;
}

Point VehicleFrame::currentGoal() const
{
  return mCurrentGoal;
}

void VehicleFrame::forces(Point &engine, Point &brake, Point &friction, Point &drag)
{
  engine = mEngineForce;
  brake = mBrakeForce;
  friction = mFrictionForce;
  drag = mDragForce;
}
